1. Field of the Invention
This invention relates to systems and methods for duplicating I/O performance in data replication environments, such as Peer-to-Peer-Remote-Copy (“PPRC”) environments.
2. Background of the Invention
In data replication environments such as Peer-to-Peer-Remote-Copy (“PPRC”) environments, data is mirrored from a primary storage device to a secondary storage device to maintain two consistent copies of the data. The primary and secondary storage devices may be located at different sites, perhaps hundreds or even thousands of miles away from one another. In the event the primary storage device fails, I/O may be redirected to the secondary storage device, thereby enabling continuous operations. When the primary storage device is repaired, I/O may resume to the primary storage device. The process of redirecting I/O from the primary storage device to the secondary storage device when a failure or other event occurs may be referred to as a “failover.”
In many cases, a user may require that the secondary storage device perform in an exact or similar manner to the primary storage device in the event of a failure. This is not always possible, since the secondary storage device may not see all of the I/O that is received by the primary storage device during normal operations and thus may not be optimized for such. For example, the secondary storage device may see writes to the primary storage device, since writes are mirrored to the secondary storage device, but may not see reads, since there is generally no need to mirror reads. As a result, the secondary storage device may be optimized for a subset of the I/O, or significantly different or reduced I/O, compared to that received by the primary storage device. Thus, when a failover occurs, the secondary storage device may not be optimized to provide the same level of I/O performance the primary storage device provided prior to the failover, at least until the secondary storage device is reconfigured for the new I/O workload. Allowing the secondary storage device to adapt to the new I/O workload can take a significant amount of time, perhaps hours, days, or even months, which is unacceptable for many users.
In view of the foregoing, what are needed are systems and methods to duplicate I/O performance in data replication systems, such as PPRC systems. Ideally, such systems and methods would enable a secondary storage device to be optimized to handle the I/O workload of a primary storage device when an event such as a failover occurs.